更新时间:2024-01-26 04:53
IBM Power 7处理器采用了IBM的45nm SOI铜互联工艺制程,典型的Power 7处理器具有八个核心,提供4核、6核、8核心型号,晶体管数量达到了12亿,核心面积567mm2,从这里可以明显看出Power7的与众不同,作为对比,同样八核心的Nehalem-EX具有23亿个晶体管,整整多了一倍。
在x86处理器Nehalem占据人们视线许久之后,其强有力的对手RISC阵营的一个重要的支柱:POWER架构最近开始动作连连,除了Freescale在嵌入式处理器市场的动作之外,IBM也开始在企业级微处理器市场出击,在前几天与硅谷中心地带——斯坦福大学举行的Hot Chips 21上,IBM宣布了最新一代POWER架构——Power 7处理器的详细资料。
关于为什么具有这个差别后面将会谈到。
距离上一代Power6推出已经经过了三年(2006年Power6推出),三年的时间内,CISC,或者说x86处理器已经有了不少的变化,Power7的情况又如何呢?请看下文。
和以往的IBM Power处理器不太一样,IBM Power7是一个单晶片的八核处理器,而不是如Power5那样由多个晶圆合体(Power7据说支持单个处理器两个晶圆,也就是形成一个16核心处理器)。IBM Power7是一个典型的多核心处理器。
单个IBM Power7核心
IFU:Instruction Fetch Unit,指令拾取单元
CRU/BRU:Condition Register Unit/Branch Unit,条件寄存器单元/分支单元
LSU:Load/Store Unit,存取单元
ISU:Instruction Schdule Unit,指令调度单元
DFU:Decimal Fixed Point Unit,十进制整数单元
FXU:Fixed Point Unit,整数单元
VSX FPU:Vector-Scalar Extension Floating Point Unit,向量/标量扩展浮点单元
通常,一条指令从左下开始顺时针执行到右下
Power7处理核心的最大特点是它具有12个执行单元,以及4个同步多线程。这12个执行单元是:
两个FXU整数单元+一个DFU十进制整数单元:十进制整数单元的用途目前暂时难以看到
四个VSX FPU向量/标量扩展浮点单元:和传统的FPU不同,它可以进行向量计算。Power7基于Power Architecture版本2.06,扩展了指令集以支持向量运算,对比于通常的SIMD,向量运算会具有更高的效率,它可以更好地利用寄存器
共四个LSU存取单元:内存存取——Load两个,Store两个——因此它紧挨着L1,以及L2
一个CRU条件寄存器单元和BRU分支单元:POWER架构和我们常见的x86不同,有些时候,一种特别的浮点运算是由额外的单元执行而不是由通用整数单元执行,这就是和POWER架构的condition register条件寄存器相关的运算,它由CRU来执行
BRU分支单元执行分支指令,实际上,它和CRU结合紧密,因此合在一起;CRU和BRU都有点偏向于控制单元(如IFU和ISU这样的就是彻头彻尾的控制单元),控制着指令的走向,因此它们靠近IFU指令拾取单元,也靠近L1/L2的位置
Power7是OOOE(Out-of-Order Execution,乱序执行)架构的处理器,和上一代Power6的IOE(In-Order Execution,顺序执行)不同——有趣的是,Power5是OOOE的,也就是说,Power7又变回去了。
顺序执行的结构简单,可以获得较高的运行频率,乱序执行则可以获得更好的运行效率,但是设计会变得复杂——设计不是问题,问题是发热量也随之增大。从结果来看,Power7的频率应该比Power6低一点。至于执行效率本身,乱序本身显然更好,Power7的流水线级数进行了缩减和优化以提升运行频率。
Power7的内核相对来说是非常复杂的,12个相对独立执行单元的设计可不常见,如Nehalem约有9个执行单元(不过执行端口只有6个:三个运算端口,三个存取端口。三个运算端口可以同时执行三个整数运算和三个浮点运算)。Power7在每个时钟周期可以分发6条指令,Nehalem则是4条,在单位时钟的微指令执行能力上,Power7大约是Nehalem的1.5倍。
强大的执行能力让Power7可以具有更多的多线程能力:每个Power7具有4个同步多线程,Power5和Power6都是两个。同步多线程是充分利用乱序架构的好方法,相对来说,顺序架构利用起来就比较难。近年来处理器的发展是追求低功耗、大规模并行,越来越走向多路处理了,既然走向了多核心,那么走向更多路的SMT同步多线程也就顺理成章了,相对来说Power7的功耗并不高,见后。在并行编程方面,进展比较缓慢,但进步总是有的。
显然,多线程技术将会越来越盛行,我们熟悉的x86世界:AMD已经宣布要采用多线程技术,而Intel的Nehalem将来可能会进化到4个多线程。
IBM Power7具有4层缓存架构——这取决于你怎么看,我们暂且这么认为。首先每个核心具有单独的32KB的L1(笔者认为应该是L1-I和L1-D分别32KB)和256KB的L2,以及32MB的L3(或者说L4)缓存,为什么说它有四层缓存呢?因为在这32MB L3(L4)当中,有4MB的缓存,其延迟只是L3(或者说L4)的1/5,特别快,足以认为它形成了一个新的缓存层。这个缓存层属于L3的一部分,可以被其他核心访问。L2缓存的延迟为8个时钟周期,比Nehalem的10个时钟周期要快一些。
Power7的L3——L4缓存值得一提,它的容量达到了32MB(包括特别快速的L3或者说L2.5在内)!实际上,这些缓存(至少是大部分)属于DRAM(Dynamic RAM,动态内存),和通常CPU使用的SRAM(Static RAM,静态内存)不同,IBM称之为eDRAM,embedded DRAM,集成动态内存。DRAM也就是我们通常的内存条使用的技术。
DRAM和SRAM的区别是:DRAM使用一个晶体管和一个电容存储一个bit,由于电容会漏电,因此必须周期性地充电以维持数据,优点是简单、便宜;SRAM则用6个晶体管(Nehalem则使用了8个晶体管以降低功耗)组成的双稳态触发器电路来存储一个bit,不需要周期性地充电,速度很快,然而占地面积大,耗电高,造价也高。
为什么要用DRAM呢?不是说DRAM的速度慢么?这要从多个方面来考虑:首先是容量,Power7本身的8个核心以及4路多线程要求具有大容量的缓存以维持一定的性能水准,至少要达到30MB;其次是功耗,假如采用SRAM的话,其功耗将会非常高的:32MB的缓存会消耗大量的电力,并且设计更加复杂,多个核心的内部互联也变得麻烦(4核心的Itanium 3 Tukwila具有30MB的SRAM L3,不过目前处于难产阶段),使用DRAM的话,功耗将得到降低,同时占地面积也更小,互联线路也简单了。唯一的缺点是性能,这一点无法避免,这应该就是L2.5或者说L3存在的原因,这个特别快速的4MB区域可能仍然是SRAM构成的。
大容量的L3通过内部互联结构连接,据说处理器核心互联的带宽达到了500GB/s!经过了大容量L3(L4)的筛选之后,仍然需要大量的内存带宽,Power7提供了两个DDR3内存控制器,每个控制器支持4个DDR3通道,大约支持到主流水准:DDR3-1600,这样内存控制器可以提供100GB/s的带宽!内置内存控制器的设计并不容易,需要提供各种RAS特性,并需要面对多种不同厂商不同型号不同参数的内存模组。Nehalem支持三个DDR3通道,Nehalem-EX也只支持4个。
为了更好地支持多个内存通道,并提高性能,Power7每个内存控制器都具有16KB的重调度缓存来重新排序内存存取请求。
Power7的一个重点是多路处理器,Power7实现了SMP的硬件一致性处理。一般而言,随着处理器数量的增多,处理器互联总线的带宽需求呈非线性的增长,受限于总线技术,一般的SMP系统在4路到8路左右就已经达到了饱和(x86的SMP机器都在这个范围左右),更大的系统就必须采用其它的拓扑结构了。
Power7通过三个方面的设计来达到32路SMP能力:巨大的带宽、特别的拓扑结构和特别的一致性协议。Power7的处理器间总线可以提供360GB/s的带宽。
Power7使用了一个两层的拓扑模型:4个处理器组成一个本地SMP组(需要7个本地I/O总线),然后8个SMP组之间两两直接互联(每个SMP组需要7个外部I/O总线),为了实现这个目标,Power7提供了两个总线:一个用于本地SMP,一个用于远程SMP。总线的位宽是120Byte。
此外为了支持这个拓扑结构,Power7的一致性协议混合了两种一致性消息的广播方法:一种是全局广播,一种是本地SMP组的猜测性广播。这个一致性协议定义了13种状态(Nehalem使用的MOESI是5种),并通过缓存线上额外的设置位,Power7最终实现了复杂的结构,在32路处理器、8核心、总共256个处理内核的SMP系统里,可以同时维持20000个缓存一致性操作。
显然,Power7打造了新的一代的顶级处理器平台:8核、4线程、32MB缓存,以及32路256核1024线程的大型SMP机器,Power7是目前处理器设计的巅峰之作。
它不能运行WINDOWS系统
频率3.0GHz到4.1GHz
理论运算能力为每核心33.12GFLOPS,每颗处理器264.96GFLOPS。
全系列POWER7处理器均支持“智能线程”(Intelligent Threads)技术,根据任务需求动态调节处理器性能,比如当需要监控数百万家庭用电量时优化为多线程处理,而当需要实时处理数据库业务时又对较少线程高速运算进行优化。
如果应用软件需要大容量内存,POWER7处理器还支持一项“Active Memory Expansion” 技术,通过内存压缩,让软件可见的内存量最高两倍于实际物理内存。IBM表示通过该技术,SAP软件可用内存量比系统实际内存可多出50%,可处理业务量将增加65%
POWER7系统还为虚拟机应用进行了优化,每个处理器核心支持10个虚拟机镜像。目前的8路64核系统可支持单系统最高640个虚拟机同时运行。他们还将推出32路256核POWER7系统,最高同时运行1000个虚拟机
8核5GHz RISC处理器新代表IBM Power7+
在服务器市场,代表开放性架构的x86服务器尽管在销量上可占到总体的80%,但市场分额只能保持在50%上下,原因在于企业关键业务上,小型机向来都是首选。小型机,一种介于PC服务器和大型机之间的高性能计算机,一般认为,传统小型机是指采用RISC、MIPS等专用处理器,主要支持UNIX操作系统的封闭、专用的计算机系统,所以又称RISC服务器或Unix服务器。不久前,IBM发布了其最新的RISC处理器Power7+。
IBM在8月底的时候公布的Power7+处理器结构,同时还发布了采用Power7+的大型机zEnterprise EC12,现在采用Power7+处理器的服务器也将在10月3号首次问世,Power7+作为32nm制程工艺的IBM最新Power架构处理器,有8个核芯,主频超过5GHz。
自从1993年Power1问世以来,Power架构已经有将近20年的历史。基本上是每三年更新一代,IBM也凭借着Power架构处理器,逐渐开拓Unix服务器市场。
凭借这Power架构处理器这柄利器,IBM在Unix服务器(小型机)市场的华山论剑中力拔头筹。
随着Power4/5/6的发布,IBM的份额是节节高升。曾长期占据主导地位的Sun和惠普现在被IBM超过,根据权威咨询机构Gartner和IDC的统计数据,2009年第三季度,IBM在Unix服务器市场占据40%的份额,其次分别是惠普(30%)和Sun(不少于25%)。IBM、HP和Sun在小型机市场形成了三国鼎立之势。
凭借着Power架构系列处理器的强劲表现,IBM在小型机上超过了曾长期占据主导地位的惠普和Sun。>>
8月28号,在硅谷举行的Hot Chips 24 芯片大会上,IBM芯片领域的专家介绍了Power架构的最新一代处理器8核Power7+。IBM zEC12采用的IBM Power 7+处理器,主频高达5.5GHz,而核心数也确定为6个。
最新的Power7+处理器采用的是32nm制程工艺,8核芯架构,此次Power7+处理器的发布,吻合了IBM Power架构处理器每三年更新一代,且在两代之间的X+发布的规律。
此前的Power7是在2010年2月8号发布的,IBM在纽约正式发布其Power7处理器。
典型的Power7处理器是单晶片的,具有八个核心,另外也提供4核与6核型号。晶体管数量为12亿,核心面积567mm2。采用的是IBM的45nmSOI铜互联工艺制程。
Power7处理器共有三级缓存,同时还集成了两个四通道DDR3内存控制器,持续内存带宽100GB/s,每个通道的速度为6.4Gbps,最大可以访问32GB(使用两根16GB内存条)。Power7处理器最大可以访问256GB。SMP带宽360GB/s,整个芯片总带宽高达590GB/s。>>
从Power7到Power7+,最大的变化在于制程工艺从45nm提升到了32nm,在向上扩展(scale up)和向外扩展(scale out)上都有提升。
向上扩展上,虽然Power7+还是和Power7一样是8核芯架构,但是主频提高了不少,虽然IBM没有正式给出Power7+的主频数据,但是由于制程工艺从之前的45nm提升到32nm,有专业人士分析称Power7+的主频相比Power7提升了25%左右。大部分Power7处理器的主频在3GHz到4GHz,而据报道称Power7+处理器的主频则是在5GHz以上,之前有消息称应用在IBM最新大型机的Power7+主频高达5.5GHz。
除了在主频上的提升外,Power7+的L3缓存有提升,是Power7的2.5倍,此前Power7处理器中8个核芯共享25MB的三级缓存。在Power7+中,共享的L3缓存增加到了80MB,大约是此前的2.5倍。
而在横向的向外扩展上,Power7+注重了带宽上的考虑,此前在Power7处理器中,有一个QCM(quad-chip module)模式,就是将4个8核芯的Power7封装在在一起,而在Power7+中,同样有这种模式,只不过将原来封装在一起的四个处理器改为了两个,也就是DCM(dual-chip module)模式。
这种将多个处理器封装在一起的好处是能够提供高系统I/O带宽。提供系统等的性能。单处理器的Power7+相比于Power7性能上有30%左右的提升,而DCM模式的Power7+相比于Power7则是有接近50%的性能提升。>>
首批采用Power7+处理器的是IBM大型机zEnterprise EC12,而不久前,IBM宣布将会在10月3日发布采用Power7+的RISC服务器。
目前IBM的RISC服务器采用的处理器多为Power7。IBM实际上在2011年2就宣布停产Power6和Power6+处理器,基于这些处理器的产品也将陆续停止出售。
在2006年2月的国际固态电路会议(ISSCCPower5+的新一代处理器。
有小幅改进的Power6+处理器是在2009年4月正式公布的,但实际上在08年10月发布的Power 560和570系统已经运用了Power6+处理器。从Power3起,IBM每三年发布新一代的Power处理器,而在这三年中间又会发布X+处理器,Power7于2010年2月正式发布,Power7+处理器则是在2012年9月发布。
Power 7+ 派生处理器
第一个PowerPC处理器PowerPC 601,基本上是一个部份基本指令用微码模拟的RSC处理器,采用了Motorola 88000为基础的总线设计。这允许IBM在许多任务作站机器上使用这个处理器,只需要更换主板。自此 PowerPC和POWER架构有些许分岐,但大部份在指令层级仍然保持兼容。
使用在太空应用的抗辐射设计RAD6000处理器是一个POWER/RSC的派生架构。
IBM RS64家族处理器根基于PowerPC(因此也包括POWER),使用在RS/6000和AS/400产品线。它对商用工作优化,没有POWER产品线应有的浮点运算。它被POWER4取代。
IBM Gekko处理器是修改过的PowerPC 750CXe,使用在任天堂Gamecube。任天堂的Wii使用更新的Gekko,Broadway。
Cell处理器也是从POWER架构派生。它具有一个复杂的多线程超标量核心,和称作SPE (Synergistic Processing Elements)的八个独立矢量处理器核心。这个处理器支撑了Sony的Playstation 3、Toshiba的数字电视系统,和IBM的高性能电脑。
微软最新一代的游戏主机Xbox 360使用一个循序运行的三核Xenon处理器,它基于PowerPC,拥有修改过的矢量单元,时钟频率3.2 GHz。
全文总结
作为RISC架构处理器的新代表,Power7+在制程工艺上提升到了32nm。IBM系统与科技事业部Power Systems总经理Ross Mauri曾经表示,IBM会信守承诺,保持每三年进行一次芯片的升级。这也就是说Power8将在2013年推出,到时候Power8的核芯数会是多少,制程工艺会不会提升到22nm制程?我们拭目以待吧。